package com.ruoyi.resume.controller;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.resume.dto.ResumeDTO;
import com.ruoyi.resume.service.IResumeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/myresume")
public class ResumeController {

    @Autowired
    private IResumeService resumeService;

    //查询简历
    @GetMapping("/getResume")
    public AjaxResult getResume() {
        Long userId = SecurityUtils.getUserId();
        ResumeDTO dto = resumeService.getResume(userId);
        if (dto==null){
            return AjaxResult.success("未有简历");
        }
        return AjaxResult.success(dto);
    }

    @PreAuthorize("@ss.hasPermi('resume:resumes:list')")
    @GetMapping("/{userId}")
    public AjaxResult getResumeById(@PathVariable Long userId) {
//        Long userId = SecurityUtils.getUserId();
        ResumeDTO dto = resumeService.getResume(userId);
        if (dto==null){
            return AjaxResult.success("未查询到简历");
        }
        return AjaxResult.success(dto);
    }

    /**
     * 创建或修改简历
     */
    @PostMapping
    public AjaxResult createOrUpdateResume(@RequestBody ResumeDTO dto) {
//        System.out.println(dto);
//        return AjaxResult.success();
        //除了管理员以外 登录id不匹配就返回
        //通过工具获取id
        Long userId = SecurityUtils.getUserId();
        if (userId != 1 && !userId.equals(dto.getUserId())) {
            return AjaxResult.error("请勿修改他人账户");
        }
        //如果id为空说明是改
        if (dto.getId() == null) {
            resumeService.insertResumeWithChildren(dto);
            return AjaxResult.success("新增成功");
        }else{
            resumeService.updateResumeWithChildren(dto);
            return AjaxResult.success("修改成功");
        }

    }

//    /**
//     * 修改简历
//     */
//    @PutMapping
//    public Result<Void> updateResume(@Validated @RequestBody ResumeDTO dto) {
//        resumeService.updateResume(dto);
//        return Result.success();
//    }
//
//    /**
//     * 获取简历详情
//     */
//    @GetMapping("/{id}")
//    public Result<ResumeVO> getResume(@PathVariable Long id) {
//        return Result.success(resumeService.getResumeDetail(id));
//    }
//
//    /**
//     * 删除简历
//     */
//    @DeleteMapping("/{id}")
//    public Result<Void> deleteResume(@PathVariable Long id) {
//        resumeService.deleteResume(id);
//        return Result.success();
//    }
//
//    /**
//     * 分页查询
//     */
//    @GetMapping("/list")
//    public TableDataInfo list(ResumeQuery query) {
//        startPage();
//        List<ResumeVO> list = resumeService.selectResumeList(query);
//        return getDataTable(list);
//    }
}